PLC编程技巧
作者:蓝天设计学院 时间:20200213
用S7-200编程的几个实例的编程技巧解析
本文用S7-200 编写的几个实例都是在网上发表或在回答网友的求助编写的,程序短小,针对性强,有程序解析,特别适合初学者学习参考。
- 网友求助“西门子PLC用一个按钮控制电机启停,不容许用中继,可用计数器定时器…”
答复:只用PLC一条指令,就可实现电机启停。见下图:
该梯形图编程技巧是:在SR触发器的输出端接Q0.0的输出线圈,再用Q0.0的常开与常闭点串接在R、S输入端上,这样的编程处理可确保动作的可靠性。该梯形图的工作原理说明,请见“用S7-200编程的三个实例解析”中的第1例。
- 用S7-200编程,可实现用一个按钮可控制电机的正传、反转、停车的梯形图
该梯形图编程技巧是:用按钮的输入点(I1.0)连接断电延时定时器(T101),及通电延时定时器(T102),T101延时为0.2 S,T102延时为1 S,T101作用是防按钮颤动而形成连发现象,确保按一下按钮只产生一个脉冲(即T101)从而确保对MB5加1运算的正确性,二次连续按钮的时间间隔控制在0.5S以下,T102 延时为 1S,故在连续按钮时,由于间隔时间小于1S,它不断的被切断。只有按下按钮不抬起(保持I1.0=1),当延时大于1S时,T102动作,其前沿将MB5的内容传入MB6,再将MB5清0。
工作原理及操作说明:
- 开机SM0.1将MB5置1、MB6清0,由于M6.0、M6.1皆为0,使Q0.0与Q0.1都=0,故电机停止不动。
- 电机正传运行:点击一下按钮(I1.0),产生一个(T101=1)的正脉冲,其后沿触发MB5计数器,使其+1,再按下按钮不抬起,此时MB5=0000_0010。经1秒延时,T102闭合,其前沿将MB5的内容送入MB6,随之将MB5清0。此时M6.0=0、M6.1=1,故使Q0.0=1,电机正传运行。随后将按钮抬起,T101的后沿使MB5+1,此时MB5=0000_0001。
- 电机停转:按下按钮不抬起,此时MB5=0000_0001。延时1秒后T102动作,T102=1的前沿,将MB5送入MB6,之后MB5清0,此时M6.0=1、M6.1=0,故Q0.0、Q0,1皆为0,电机停止转动。当按钮抬起时,T101的后沿触发MB0,使MB5=1。
- 电机反转运行:点击二下按钮(I1.0),产生二个(T101=1)的正脉冲,其后沿触发MB5计数器,使其+2,再按下按钮不抬起,此时MB5=0000_0011。经1秒延时,T102闭合,其前沿将MB5的内容送入MB6,随之将MB5清0。此时M6.0=1、M6.1=1,故使Q0.1=1,电机反传运行。随后将按钮抬起,T101的后沿使MB5+1,此时MB5=0000_0001。
该程序不需任何外围硬件,而且程序简短,经上机运行考验,程序正确,动作可靠。可以实用。
- 网友求助:“s7-300里的定时器t1,怎么循环启动? 现在是,使用完一次,t1就停止了!而我想用T1实现每隔2秒重复一个动作!请大家帮忙,谢谢!”
又提出:“其实,我就是想用定时器来实现每隔3秒,QB0循环右移一位。 我现在比较菜鸟哈,希望高手们能指点详细点,最好能有梯形图! 嘿嘿,感谢!!”
回复:“ 楼主:根据你的要求“其实,我就是想用定时器来实现每隔3秒,QB0循环右移一位。”我给你编出用S7-200和用S7-300编出的功能一样的梯形图。从图中可以看出,S7-200由于采用字节循环右移指令,所以编出程序简短易懂。S7-300由于没有字节循环右移指令,就得通过编程来达到同样的功能作用,编出的程序相对长了一些,看懂梯形图也相对难了一点。有什么问题可以提出,我可以解答。 ”
解析梯形图:
1、图一是用S7200编写的图形图,其编程技巧有二:(1)用通电延时定时器T101的常闭点连接T101的线圈构成振荡器,其脉冲的低电平为3秒宽度,高电平为连续二个扫描周期的间隔时间,即只出现一次,故可直接用T101的常开触点去触发QB0的循环右移,而不需选用其前沿触发,就可确保QB0只右移一次。(2)、选用字节循环右移指令,在T101=1的这一扫描周期里将此时刻的QB0内容右移一位,同时又自动的将移出的QB0的最高位(Q0.7)送回QB0的最低位(Q0.0)(如不需循环右移,可改用字节右移一位的指令),使编程简短易懂。
2、图二是用S7300编写的图形图,其编程技巧也是使用T101构成的振荡器,利用该振荡脉冲的正方波在程序扫描中只出现一次的特点,完成将QB0右移一位。由于S7-300没有字节移位指令,编程是这样处理:将QBO送入MW7的低字节MB8中,右移一位MW7,MB8也随之右移一位, MB8的最高位移到MB7的最低位(即M8.0),再把M8.0送入M7.0中,再把MB8送回QB0,从而实现了将QB0内容的循环右移一位的功能,如程序不需要循环右移,可将“M7.0àM8.0”这条语句去掉就可以了。
四、网友求助:“如何把一个字节的全部位,高位低位反向重排。
01234567
76543210 ”
回复:现用S7-200编出一个字节内容反排列的程序梯形图,供你参考
程序解析:该程序编程的技巧就是巧妙地运用字节的循环左移与字节右移:MB10为原数据,MB12为转换后的反排列数据,启动此程序,先将MB0=7,再使M1.0、M1.1置1。M1.0=1,先将M10,7àM12.7,再将MB10循环左移一次,这样原MB10的内容左移一位,原M10.0àM10.7,而MB12右移一位,M12.7àM12.6, 0àM12.7’,接着MB0减1,再判断MB0等不等0,不等0,下一周期再进行上述移位运算及判断,当MB0=0时,MB10循环左移7次,同时使M1.0=0,停止此段程序再运行,M1.0=0、M1.1=1,使MB10又右移一位,使MB10正好恢复原数值,而MB12的内容变为MB10的内容的反排列数值。
由于PLC指令没有位信号交换指令,对于字或双字的内容反排列用此思路编程最好,对单字节也可这样编程:将M10.7-->M12.0 M10.6-->M12.1 M10.5>M12.2 M10.4-->M12.3 .....M10.0-->M12.7即可。再将MB12-->MB10,就可实现将一个字节的内容反排列仍放在原字节中。
五、网友求助:“用西门子200梯形图编写总共有八个灯泡,通电后第一个灯泡亮三秒灭五秒接着下个灯泡亮,直到第八个灯泡亮三秒灭五秒后自动返回到第一个灯泡继续循环,你搞下,我那天面试的题目,不是很难,但也没编好”
回复:根据你的要求用S7-200给你编出如下梯形图.,供你参考。如有看不明白之处,可告知,给你解释。
程序解析:该程序编程的特点,就是巧妙地运用T101、T102构成的振荡器与MB8的循环左移相结合,使编出的程序短小精炼:T101与T02二个定时器构成负3秒正5秒的方波振荡器,利用T102=1只占1个扫描周期将MB8循环左移一位,这样用MB0中的各位为信号与T101的常闭点相与,去连接QB0的各个位输出,就可达到控制目的。
蓝天教育教学优势
★课程务实:开设的课程是根据机械电子外贸设计公司等企业市场调查、设计就业发展趋势所精致设计的。课程包含精挑细选的实用技巧、生动的操作案例、丰富的项目实训,由浅入深、循序渐进、内容丰富,侧重实际操作与应用。
★价格实惠:宁波最实惠的电脑技术课程为您量身定做,让您花最少的钱,学更多的知识。
★教学特色:小班授课,以保证教学质量;"理论+实验"的教学模式,整合真实项目案例,使学员在动手实践中将知识融汇贯通;各种学习内部实验手册和复习资料免费提供给学员;并为基础薄弱的学员提供免费重听的机会。
★就业服务:蓝天教育与宁波本地很多机械,电子,外贸企业建立了良好的合作关系,及时为学员提供工作机会,并提供简历优化、面试辅导等职业技巧服务;为学员的就业提供了良好的交流平台和保障。
蓝天教育教学特色
专业资深认证教员授课,治学严谨、富有耐心和很强的逻辑推理能力。本中心通过理论+操作演示+实践,多种授课方式生动活泼为学员讲解。讲课的内容也不单单局限于书本上的,而是充分结合实际应用,让学员学得好用得上。1、小班授课(一个班控制在6~8人左右,一人一机)
2、专职教师授课(设计部专职教师,有着多年的教学、工作经验、保证每一位学员的质量,免费为基础差的学员做单独辅导)
3、免费重修(学不会可以免费再重新学习,学员的出勤率在90%以上)
4、免费推荐实习和就业
蓝天教育教育郑重承诺:
我们的综旨重在教学质量与教学水平,让每位学员学到技术和真本领,课程均采用小班形式,理论专业、实践全真案例教学。宁波蓝天教育教育教师教学经验丰富,我们的承诺百分百包学会,学不会免费重学。